﻿//-----------------------------------------------------------------------
// <copyright file="ITumblrBasic.cs" company="OpenSource">
//     All code is Microsoft Public License (Ms-PL)
// </copyright>
// <history>
// 2013.02  Created         Chris Hand
// </history>
//-----------------------------------------------------------------------
namespace OpenSource.TumblrAPI.Interfaces
{
    using System;
    using OpenSource.TumblrAPI.DataObjects;

    /// <summary>
    /// A set of methods that are at the root of the API, with no subcommand
    /// </summary>
    public interface ITumblrBasic
    {
        /// <summary>
        /// Gets posts with the specified tag
        /// </summary>
        /// <param name="tag">The tag to look for</param>
        /// <returns>A collection of TumblrPosts, or an empty collection if there were none</returns>
        TumblrPost[] RequestPostsWithTag(string tag);

        /// <summary>
        /// Gets posts with the specified tag
        /// </summary>
        /// <param name="tag">The tag to look for.</param>
        /// <param name="before">Find posts before this date</param>
        /// <param name="limit">The maximum number of posts to return</param>
        /// <param name="format">What format the posts should be in</param>
        /// <returns>The collection of posts</returns>
        TumblrPost[] RequestPostsWithTag(string tag, DateTime before, int limit, PostFormat format);
    }
}
